/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package model;

import java.util.Date;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;

/**
 *
 * @author AMOR
 */
public class Usuario {
    
    private String nome;
    private String senha;
    private String email;
    private String tipo;
    private boolean logado;
    private String sexo;
    private int idade;
    private Date nascimento;
    private String descricao;
    private String estado;
    private String cidade;
    private String telefone;
    private String img;
    private String cpf;
    
    public Usuario() {
      
    }
    
    public Usuario(String nome, String email, String senha) {
      
    }
    public Usuario(String nome, String senha, String email, String tipo, boolean logado, String sexo,
            int idade, Date nascimento, String descricao, String estado, String cidade, String telefone, String img,
            String matricula) {
        
        this.nome = nome;
        this.senha = senha;
        this.email = email;
        this.tipo = tipo;
        this.logado = logado;
        this.sexo = sexo;
        this.idade = idade;
        this.nascimento = nascimento;
        this.descricao = descricao;
        this.estado = estado;
        this.cidade = cidade;
        this.telefone = telefone;
        this.img = img;
      
    }

    /**
     * @return the nome
     */
    public String getNome() {
        return nome;
    }

    /**
     * @param nome the nome to set
     */
    public void setNome(String nome) {
        this.nome = nome;
    }

    /**
     * @return the senha
     */
    public String getSenha() {
        return senha;
    }

    /**
     * @param senha the senha to set
     */
    public void setSenha(String senha) {
        this.senha = senha;
    }

    /**
     * @return the email
     */
    public String getEmail() {
        return email;
    }

    /**
     * @param email the email to set
     */
    public void setEmail(String email) {
        this.email = email;
    }

    /**
     * @return the tipo
     */
    public String getTipo() {
        return tipo;
    }

    /**
     * @param tipo the tipo to set
     */
    public void setTipo(String tipo) {
        this.tipo = tipo;
    }
    
    public boolean isLogado() {
        return logado;
    }

    public void setLogado(boolean logado) {
        this.nome = "";
        this.senha = "";
        this.logado = logado;
    }
    
    public String autentica(){
        if (nome.equalsIgnoreCase("teste") && senha.equalsIgnoreCase("teste")){
            logado = true;
            return "participante";
        } else {
            logado = false;
            FacesContext contexto = FacesContext.getCurrentInstance();
            FacesMessage msg = new FacesMessage("Usuário ou senha inválido(s).");
            contexto.addMessage("login", msg);
            return "login";
        }
        
    }
        
    public String deslogar(){
        logado = false;
        return "inicio";
    }

    /**
     * @return the sexo
     */
    public String getSexo() {
        return sexo;
    }

    /**
     * @param sexo the sexo to set
     */
    public void setSexo(String sexo) {
        this.sexo = sexo;
    }

    /**
     * @return the idade
     */
    public int getIdade() {
        return idade;
    }

    /**
     * @param idade the idade to set
     */
    public void setIdade(int idade) {
        this.idade = idade;
    }

    /**
     * @return the nascimento
     */
    public Date getNascimento() {
        return nascimento;
    }

    /**
     * @param nascimento the nascimento to set
     */
    public void setNascimento(Date nascimento) {
        this.nascimento = nascimento;
    }

    /**
     * @return the descricao
     */
    public String getDescricao() {
        return descricao;
    }

    /**
     * @param descricao the descricao to set
     */
    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }

    /**
     * @return the estado
     */
    public String getEstado() {
        return estado;
    }

    /**
     * @param estado the estado to set
     */
    public void setEstado(String estado) {
        this.estado = estado;
    }

    /**
     * @return the cidade
     */
    public String getCidade() {
        return cidade;
    }

    /**
     * @param cidade the cidade to set
     */
    public void setCidade(String cidade) {
        this.cidade = cidade;
    }

    /**
     * @return the telefone
     */
    public String getTelefone() {
        return telefone;
    }

    /**
     * @param telefone the telefone to set
     */
    public void setTelefone(String telefone) {
        this.telefone = telefone;
    }

    /**
     * @return the img
     */
    public String getImg() {
        return img;
    }

    /**
     * @param img the img to set
     */
    public void setImg(String img) {
        this.img = img;
    }

    /**
     * @return the matricula
     */
    public String getCpf() {
        return cpf;
    }

    /**
     * @param matricula the matricula to set
     */
    public void setCpf(String cpf) {
        this.cpf = cpf;
    }

    public Object getUsuario() {
        throw new UnsupportedOperationException("Not yet implemented");
    }
    
}
